/* The file is saved in UTF-8 codepage.
 * Check: «Stereotype», Section mark-§, Copyright-©, Alpha-α, Beta-β, Smile-☺
 */
package cz.pecinovsky.english.lootp.manager;

import cz.pecinovsky.english.lootp.utility.Area;
import cz.pecinovsky.english.lootp.utility.Position;
import cz.pecinovsky.english.lootp.utility.Size;




////////////////////////////////////////////////////////////////////////////////
//%%+  +++++ End of ignored starting test - place for imports +++++

//%X+ xxxxx Start of the ovejumped text with declaration of the envelope xxxxx
/*******************************************************************************
 *<pre>
 * Previous:  No - this is a newly defined type
 *              Ttt in the project Ppp
 * Following: No
 *
 * Project  Ppp
 *   + Aded
 *   - Removed
 *   ~ Changed
 *</pre>
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
////////////////////////////////////////////////////////////////////////////////
//%X- ----- End of the ovejumped text with declaration of the envelope -----


/*******************************************************************************
 * Instance rozhraní {@code AAA_INTERFACE} představují ...
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
public interface _IChangeablePlus
{
//== CONSTANTS =================================================================
//== DECLARED METHODS ==========================================================

    /***************************************************************************
     * Vrátí instanci třídy {@code Area} s informacemi
     * o aktuální pozici a rozměrech instance.
     *
     * @return   Instance třídy {@code Area} s informacemi
     *           o aktuální pozici a rozměrech instance
     */
    public Area getArea();


    /***************************************************************************
     * Nastaví novou polohu a rozměry instance prostřednictvím
     * instance třídy {@code Area}.
     *
     * @param oblast Nově nastavovaná oblast zaujímaná instancí
     */
    public void setArea(Area oblast);


    /***************************************************************************
     * Nastaví pozici a rozměr objektu.
     *
     * @param pozice  Nově nastavovaná pozice objektu
     * @param rozměr  Nově nastavovaný rozměr objektu
     */
    public void setArea(Position pozice, Size rozměr);


    /***************************************************************************
     * Nastaví novou pozici a rozměr objektu.
     *
     * @param x       Vodorovná (x-ová) souřadnice instance,
     *                x=0 má levý okraj plátna, souřadnice roste doprava
     * @param y       Svislá (y-ová) souřadnice instance,
     *                y=0 má horní okraj plátna, souřadnice roste dolů
     * @param width   Šířka vytvářeného objektu v bodech
     * @param height   Výška vytvářeného objektu v bodech
     */
    public void setArea(int x, int y, int width, int height);



//== INHERITED METHODS =========================================================
//== EMBEDDED DATA TYPES =======================================================
}
